/**
 * 
 */
package com.desksoft.ecommerce.service.interf.logistics;

import java.util.List;
import java.util.Map;

import com.desksoft.ecommerce.util.result.ServiceResult;
import com.desksoft.ecommerce.vo.logistics.DeliverinfoVO;
import com.desksoft.ecommerce.vo.logistics.VipCardQryVO;
import com.desksoft.ecommerce.vo.logistics.VipCardVO;
import com.desksoft.ecommerce.vo.logistics.VipFamilyVO;
import com.desksoft.utility.pagination.Page;
import com.desksoft.utility.service.ServiceInterface;

/***************************************
 * <pre>
 * 版权所有：杭州迪科软件 保留所有权利
 * 创建日期: Aug 1, 2011 12:42:42 PM
 * 创建作者：yejw
 * 文件名称：IVipCardService.java
 * 版本：
 * 功能：
 * 最后修改时间：Aug 1, 2011 12:42:42 PM
 * 修改记录：
 * </pre>
 *****************************************/

public interface IVipCardService extends ServiceInterface {

	// ********************** 公共方法 start *****************************

	/**
	 * 会员信息列表
	 * 
	 * @param vipCardQryVO
	 *            会员查询值对象
	 * @return
	 */
	public ServiceResult<Page<VipCardVO>> getVipCards(VipCardQryVO vipCardQryVO);

	/**
	 * 注册会员
	 * 
	 * @param vipCardVO
	 *            会员信息
	 * @return
	 */
	public ServiceResult<String> saveVipCard(VipCardVO vipCardVO);

	// ********************** 公共方法 end *******************************

	/**
	 * 插入会员家庭成员表
	 */
	public ServiceResult<String> saveVipFamily(List<VipFamilyVO> familyVOL);

	/**
	 * 取默认的会员级别
	 */
	public ServiceResult<String> getDefaultVipClass();

	/**
	 * VipCardExt表空记录
	 */
	public ServiceResult<String> insertVipCardExtEmpty(String cardno);

	/**
	 * 插入DeliverInfo表
	 */
	public ServiceResult<DeliverinfoVO> insertVipDeliverInfo(DeliverinfoVO info);

	/**
	 * 修改会员信息。查询条件为会员主键，非空信息生成update
	 * 
	 * @param vipcardVO
	 * @return
	 */
	public ServiceResult<Integer> updateVipCard(VipCardVO vipcardVO);

	/**
	 * 增加会员积分
	 */
	public ServiceResult<Integer> addVipLastPoints(VipCardVO vipVO);

	/**
	 * @author LiuWenLong
	 * @version 2012-12-28 下午2:31:47
	 * @description 2c聊天授权
	 * @param vipCard
	 * @return
	 */
	public ServiceResult<String> selectChatAuthVipCard(VipCardVO vipCard);
	
	/**
	 * pos机获取会员信息，兼容原来代码
	 * @param vipVO
	 * @return
	 */
	public ServiceResult<String[]> queryVipCardToPos(VipCardVO vipVO);
	
	/**
	 * pos分离开发获取会员信息
	 * @param vipVO
	 * @return
	 */
	public ServiceResult<List<Map<String, Object>>> queryVipCardDetailToPos(VipCardVO vipVO);
	
	
}
